home *** CD-ROM | disk | FTP | other *** search
/ Graphics Plus / Graphics Plus.iso / amiga / animutil / playsr / playsr.arc / time.c < prev    next >
C/C++ Source or Header  |  1988-11-10  |  918b  |  50 lines

  1. #include    <exec/types.h>
  2. #include    <exec/devices.h>
  3. #include    <devices/timer.h>
  4. #include    "defs.h"
  5. #include    "type.h"
  6. #include    "object.h"
  7. #include    "cell.h"
  8. #include    "func.h"
  9. #include    <stdio.h>
  10.  
  11. struct    timerequest    *CreateTimer (unit)
  12.  
  13. ULONG    unit;
  14.  
  15. {
  16.     struct    MsgPort     *timerport;
  17.     struct    timerequest    *timermsg;
  18.  
  19.     if (!(timerport = (struct MsgPort *) CreatePort ("Anim Timer", 0L)))
  20.         return NULL;
  21.  
  22.     if (!(timermsg = (struct timerequest *) CreateExtIO (timerport, (long) sizeof (struct timerequest)))) {
  23.         DeletePort (timerport);
  24.         return NULL;
  25.     }
  26.  
  27.     if (OpenDevice (TIMERNAME, unit, timermsg, 0L)) {
  28.         DeleteExtIO (timermsg);
  29.         DeletePort (timerport);
  30.         return NULL;
  31.     }
  32.  
  33.     return timermsg;
  34. }
  35.  
  36. void    DeleteTimer (tr)
  37.  
  38. struct    timerequest    *tr;
  39.  
  40. {
  41.     struct    MsgPort    *tp;
  42.  
  43.     if (tr) {
  44.         if ((tp = tr->tr_node.io_Message.mn_ReplyPort))
  45.             DeletePort (tp);
  46.         CloseDevice (tr);
  47.         DeleteExtIO (tr, (long) sizeof (struct timerequest));
  48.     }
  49. }
  50.